package reserve.utility;
public class ConString
{
	public ConString()	{}

	public static String lineBreak(String src)
	{
		int len = src.length();
		int linenum = 0, i = 0;

		for (i = 0; i < len; i++)
		
		if (src.charAt(i) == '\n')
			
			linenum++;

			StringBuffer sb = new StringBuffer(len + linenum * 3);

		for (i = 0; i < len; i++)
		{
			if (src.charAt(i) == '\n')
			sb.append("<br>");
		else
			sb.append(src.charAt(i));
		}

		return sb.toString();
	}

	public static String quotationMark(String src)
	{
		int len = src.length();
		int linenum = 0, i = 0;

		for (i = 0; i < len; i++)

		if (src.charAt(i) == '\'')
			linenum++;

		StringBuffer sb = new StringBuffer(len + linenum);

		for (i = 0; i < len; i++)
		{
			if (src.charAt(i) == '\'')
			sb.append("''");
		else
        		sb.append(src.charAt(i));
    		}

		return sb.toString();
  	}

	public static String reply(String src)
	{
		int len = src.length();
		int linenum = 0, i = 0;

		for (i = 0; i < len; i++)
		
		if (src.charAt(i) == '\n')
		linenum++;

		StringBuffer sb = new StringBuffer(len + linenum + 1);

		sb.append("> ");

		for (i = 0; i < len; i++)
		{
			if (src.charAt(i) == '\n')
			sb.append("> ");
		else
			sb.append(src.charAt(i));
		}

		return sb.toString();
	}

	public static String htmlTag(String src)
	{
		int len = src.length();
		int linenum = 0, i = 0;

		for (i = 0; i < len; i++)
		
		if ((src.charAt(i) == '<') | (src.charAt(i) == '>') | (src.charAt(i) == '&') | (src.charAt(i) == ' '))
		linenum++;

		StringBuffer sb = new StringBuffer(len + linenum * 5);

		for (i = 0; i < len; i++)
		{
			if (src.charAt(i) == '<')
			{
				sb.append("&lt;");
			}
			else if (src.charAt(i) == '>')
			{
				sb.append("&gt;");
			}
			else if (src.charAt(i) == '&')
			{
				sb.append("&amp;");
			}
			else if (src.charAt(i) == ' ')
			{
				if (i == 0)
				{
					sb.append("&nbsp;");
				}
				else
				{
					if (src.substring(i - 1, i).equals(" ") | src.substring(i - 1, i).equals("\n"))
					{
						if (src.substring(i + 1, i + 2).equals(" "))
						{
							sb.append("&nbsp;");
						} 
						else
						{
							if (src.substring(i - 2, i - 1).equals(" "))
							{
								sb.append(" ");
							} 
							else
							{
								sb.append("&nbsp;");
							}
						}
					} 
					else
					{
						sb.append(" ");
					}
				}
			} 
			else
			{
				sb.append(src.charAt(i));
			}
			
		}

		return sb.toString();
	}
}